home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 2 / LSD and 17bit Compendium Deluxe - Volume II.iso / a / prog / asmsrc / mischards.lha / SourceCode / Gridder-Seg.s < prev    next >
Text File  |  1980-02-20  |  10KB  |  538 lines

  1.     Opt    c-
  2.     Section    "Resourced Gridder Segment",Code_C
  3.  
  4. *****************************************************************************
  5. * FUCK ME!! AS IF I HAVE TO RESOURCE MY OWN FUCKING CODE!!! Lousy fucking   *
  6. * floppy disks!!!                                                           *
  7. *****************************************************************************
  8.     
  9. Start    BRA.S     L000001
  10.     BRA.S     L000002
  11.     BRA       L000004
  12. L000001:
  13.     MOVEM.L   D0-D7/A0-A6,-(A7)
  14.     LEA.L     GridScreen(PC),A5
  15.     MOVE.L    A0,(A5)
  16.     LEA.L     14848(A0),A0
  17.     MOVE.L    A0,4(A5)
  18.     LEA.L     6208(A0),A0
  19.     MOVE.L    A0,8(A5)
  20.     LEA.L     OldCopper(PC),A5
  21.     MOVE.L    A1,(A5)
  22.     BSR       L000006
  23.     BSR       L000015
  24.     BSR       L00000B
  25.     MOVEM.L   (A7)+,D0-D7/A0-A6
  26.     RTS       
  27. L000002:
  28.     MOVEM.L   D0-D7/A0-A6,-(A7)
  29.     Lea    XYDataPt(pc),a6
  30.     Move.l    a1,(a6)
  31.     MOVE.W    #31,D7
  32.     LEA.L     CopperCols(PC),A1
  33. L000003:
  34.     MOVE.L    (A0)+,(A1)+
  35.     DBF       D7,L000003
  36.     LEA.L     CopperList(PC),A0
  37.     LEA.L     $00DFF000,A6
  38.     MOVE.L    A0,128(A6)
  39.     MOVE.L    A0,D0
  40.     BSR       L000021
  41.     BSR       L000008
  42.     LEA.L     GridPlane(PC),A0
  43.     Move.l    XYDataPt(pc),a1
  44.     Lea    XGridSize(pc),a6    
  45.     MOVE.L    #$00000006,(A0)
  46.     BSR       L000005
  47.     MOVE.L    #$0000000A,(A0)
  48.     BSR       L000005
  49.     MOVE.L    #$0000000E,(A0)
  50.     BSR       L000005
  51.     MOVE.L    #$00000012,(A0)
  52.     BSR       L000005
  53.     MOVE.L    #$00000016,(A0)
  54.     BSR       L000005
  55.     MOVEM.L   (A7)+,D0-D7/A0-A6
  56.     RTS       
  57. L000004:
  58.     MOVEM.L   D0-D7/A0-A6,-(A7)
  59.     BSR       L000020
  60.     MOVEM.L   (A7)+,D0-D7/A0-A6
  61.     RTS       
  62. L000005:
  63.     Move.l    (a1)+,(a6)
  64.     MOVEM.L   A0-A1,-(A7)
  65.     BSR       L00000F
  66.     MOVEM.L   (A7)+,A0-A1
  67.     RTS       
  68. L000006:
  69.     LEA.L     CopperBPLS(PC),A0
  70.     MOVE.L    GridScreen(PC),D0
  71.     MOVEQ.L   #4,D7
  72. L000007:
  73.     MOVE.L    D0,D1
  74.     MOVE.W    D1,6(A0)
  75.     SWAP.W    D1
  76.     MOVE.W    D1,2(A0)
  77.     ADDQ.L    #8,A0
  78.     DBF       D7,L000007
  79.     RTS       
  80. L000008:
  81.     LEA.L     Altern8(PC),A0
  82.     BCHG.B    #0,(A0)
  83.     BNE       L000009
  84.     MOVE.L    GridCopper1Pt(PC),D0
  85.     MOVE.L    GridCopper2Pt(PC),D1
  86.     BRA       L00000A
  87. L000009:
  88.     MOVE.L    GridCopper2Pt(PC),D0
  89.     MOVE.L    GridCopper1Pt(PC),D1
  90. L00000A:
  91.     LEA.L     CopperStrobe(PC),A0
  92.     MOVE.W    D0,6(A0)
  93.     SWAP.W    D0
  94.     MOVE.W    D0,2(A0)
  95.     LEA.L     CurrentGrid(PC),A0
  96.     MOVE.L    D1,(A0)
  97.     RTS       
  98. L00000B:
  99.     MOVEA.L   GridCopper1Pt(PC),A2
  100.     MOVEA.L   A2,A0
  101.     MOVE.L    #$2901FFFE,(A0)
  102.     MOVE.L    #$00E20000,4(A0)
  103.     MOVE.L    #$00E60000,8(A0)
  104.     MOVE.L    #$00EA0000,12(A0)
  105.     MOVE.L    #$00EE0000,16(A0)
  106.     MOVE.L    #$00F20000,20(A0)
  107.     LEA.L     $00DFF000,A6
  108.     MOVE.W    #257,D7
  109. L00000C:
  110.     BSR       L000014
  111.     MOVE.L    #$FFFFFFFF,68(A6)
  112.     MOVE.L    #$09F00000,64(A6)
  113.     MOVE.L    #$00000000,100(A6)
  114.     MOVE.L    GridCopper1Pt(PC),80(A6)
  115.     MOVE.L    A0,84(A6)
  116.     MOVE.W    #386,88(A6)
  117.     LEA.L     24(A0),A0
  118.     DBF       D7,L00000C
  119.     MOVE.L    #$01000000,(A0)+
  120.     LEA.L     CopperList(PC),A1
  121.     MOVE.L    A1,D0
  122.     MOVE.W    D0,D1
  123.     SWAP.W    D0
  124.     MOVE.W    #128,(A0)+
  125.     LEA.L     CopJumper(PC),A5
  126.     MOVE.L    A0,(A5)
  127.     MOVE.W    D0,(A0)+
  128.     MOVE.W    #130,(A0)+
  129.     MOVE.W    D1,(A0)+
  130.     MOVE.L    #$FFFFFFFE,(A0)+
  131.     MOVEA.L   A2,A0
  132.     MOVE.W    #42,D0
  133.     MOVE.W    #257,D1
  134. L00000D:
  135.     ADDQ.W    #1,D0
  136.     MOVE.B    D0,(A0)
  137.     CMPI.W    #256,D0
  138.     BNE       L00000E
  139.     MOVE.W    #65505,(A0)
  140.     MOVE.W    #0,D0
  141. L00000E:
  142.     LEA.L     24(A0),A0
  143.     DBF       D1,L00000D
  144.     BSR       L000014
  145.     MOVE.L    #$FFFFFFFF,68(A6)
  146.     MOVE.L    #$09F00000,64(A6)
  147.     MOVE.L    #$00000000,100(A6)
  148.     MOVE.L    GridCopper1Pt(PC),80(A6)
  149.     MOVE.L    GridCopper2Pt(PC),84(A6)
  150.     MOVE.W    #12432,88(A6)
  151.     RTS       
  152. L00000F:
  153.     MOVEA.L   CurrentGrid(PC),A0
  154.     ADDA.L    GridPlane(PC),A0
  155.     MOVEA.L   A0,A1
  156.     LEA.L     3096(A0),A0
  157.     MOVEA.L   A0,A1
  158.     LEA.L     -24(A1),A1
  159.     MOVE.W    YGridSize(PC),D0
  160.     MOVE.W    XGridSize(PC),D1
  161.     MOVEQ.L   #112,D2
  162.     MULS.W    D1,D2
  163.     MOVE.W    D2,D3
  164.     ADDI.W    #56,D3
  165.     MOVE.W    #0,D7
  166.     MOVE.L    GridScreen(PC),D5
  167.     ADDQ.W    #6,D2
  168.     ADDQ.W    #6,D3
  169.     ADD.W     D5,D2
  170.     ADD.W     D5,D3
  171. L000010:
  172.     MOVE.W    D0,D1
  173. L000011:
  174.     MOVE.W    D2,(A0)
  175.     MOVE.W    D3,(A1)
  176.     LEA.L     24(A0),A0
  177.     LEA.L     -24(A1),A1
  178.     ADDQ.W    #1,D7
  179.     CMPI.W    #129,D7
  180.     BGE       L000013
  181.     DBF       D1,L000011
  182.     MOVE.W    D0,D1
  183. L000012:
  184.     MOVE.W    D3,(A0)
  185.     MOVE.W    D2,(A1)
  186.     LEA.L     24(A0),A0
  187.     LEA.L     -24(A1),A1
  188.     ADDQ.W    #1,D7
  189.     CMPI.W    #129,D7
  190.     BGE       L000013
  191.     DBF       D1,L000012
  192.     BRA.S     L000010
  193. L000013:
  194.     RTS       
  195. L000014:
  196.     BTST.B    #14,2(A6)
  197.     BNE.S     L000014
  198.     RTS       
  199. L000015:
  200.     MOVEA.L   GridScreen(PC),A0
  201.     MOVEA.L   A0,A1
  202.     LEA.L     14848(A1),A1
  203. L000016:
  204.     MOVE.L    #$00000000,(A0)+
  205.     CMPA.L    A0,A1
  206.     BNE.S     L000016
  207.     MOVEA.L   GridScreen(PC),A0
  208.     MOVE.W    #131,D7
  209.     MOVEQ.L   #-1,D1
  210.     MOVE.L    D1,D2
  211.     MOVE.L    D1,D3
  212.     MOVE.L    D1,D4
  213.     MOVE.L    D1,D5
  214.     MOVE.L    D1,D6
  215.     MOVE.L    D1,D0
  216. L000017:
  217.     MOVEM.L   D0-D6,(A0)
  218.     LEA.L     112(A0),A0
  219.     DBF       D7,L000017
  220.     MOVEA.L   GridScreen(PC),A0
  221.     MOVE.W    #131,D0
  222.     MOVEQ.L   #-1,D1
  223. L000018:
  224.     MOVE.W    D1,D5
  225.     MOVE.W    #224,D2
  226.     MOVE.W    D2,D7
  227.     MOVEA.L   A0,A1
  228. L000019:
  229.     MOVE.W    D2,D3
  230.     MOVE.W    D3,D4
  231.     LSR.W     #3,D3
  232.     NOT.B     D4
  233.     BSET.B    D4,0(A0,D3.W)
  234.     MOVE.W    D7,D3
  235.     MOVE.W    D7,D4
  236.     LSR.W     #3,D3
  237.     NOT.B     D4
  238.     BCLR.B    D4,0(A0,D3.W)
  239.     ADDQ.W    #1,D2
  240.     SUBQ.W    #1,D7
  241.     CMP.W     #448,D2
  242.     BGT       L00001A
  243.     DBF       D5,L000019
  244.     ADD.W     D1,D2
  245.     SUB.W     D1,D7
  246.     MOVE.W    D1,D5
  247.     CMP.W     #448,D2
  248.     BGT       L00001A
  249.     BRA.S     L000019
  250. L00001A:
  251.     MOVEA.L   A1,A2
  252.     MOVEA.L   A1,A3
  253.     LEA.L     56(A2),A2
  254.     MOVE.W    #13,D7
  255. L00001B:
  256.     MOVE.L    (A3)+,D6
  257.     EORI.L    #$FFFFFFFF,D6
  258.     MOVE.L    D6,(A2)+
  259.     DBF       D7,L00001B
  260.     ADDQ.W    #1,D1
  261.     LEA.L     112(A0),A0
  262.     DBF       D0,L000018
  263.     RTS       
  264. L000020:
  265.     MOVE.L    OldCopper(PC),D0
  266. L000021:
  267.     MOVEA.L   CopJumper(PC),A0
  268.     MOVEA.L   CopJumper(PC),A1
  269.     LEA.L     6208(A1),A1
  270.     MOVE.W    D0,4(A0)
  271.     MOVE.W    D0,4(A1)
  272.     SWAP.W    D0
  273.     MOVE.W    D0,(A0)
  274.     MOVE.W    D0,(A1)
  275.     RTS       
  276.  
  277. OldCopper    Dc.l    0
  278. Altern8    Dc.w    0
  279. CopJumper    Dc.l    0
  280. GridScreen    Dc.l    0
  281. GridCopper1Pt    Dc.l    0
  282. GridCopper2Pt    Dc.l    0
  283. CurrentGrid    Dc.l    0
  284. GridPlane    Dc.l    0
  285. GridSine    Dc.l    0
  286. XGridSize    Dc.w    0
  287. YGridSize    Dc.w    0
  288. XYDataPt    Dc.w    0
  289.  
  290. SinePoint1    Dc.l    46
  291. SinePoint2    Dc.l    20
  292. SineSpeed1    Dc.l    18
  293. SineSpeed2    Dc.l    26
  294.  
  295.     Dc.l    22
  296.     Dc.l    44
  297.     Dc.l    16
  298.     Dc.l    14
  299.  
  300.     Dc.l    14
  301.     Dc.l    32
  302.     Dc.l    12
  303.     Dc.l    18
  304.  
  305.     Dc.l    46
  306.     Dc.l    48
  307.     Dc.l    26
  308.     Dc.l    10
  309.  
  310.     Dc.l    20
  311.     Dc.l    46
  312.     Dc.l    22
  313.     Dc.l    26
  314.  
  315. SinePoint1a    Dc.l    36
  316. SinePoint2a    Dc.l    64
  317. SineSpeed1a    Dc.l    24
  318. SineSpeed2a    Dc.l    14
  319.  
  320.     Dc.l    10
  321.     Dc.l    50
  322.     Dc.l    24
  323.     Dc.l    22
  324.  
  325.     Dc.l    8
  326.     Dc.l    72
  327.     Dc.l    24
  328.     Dc.l    8
  329.  
  330.     Dc.l    44
  331.     Dc.l    6
  332.     Dc.l    12
  333.     Dc.l    26
  334.  
  335.     Dc.l    18
  336.     Dc.l    2
  337.     Dc.l    14
  338.     Dc.l    30
  339.  
  340. Cmv    Macro
  341.     Dc.w    \2,\1
  342.     EndM
  343.     
  344. Cwt    Macro
  345.     Dc.w    (\1*$100)+$01,$fffe
  346.     EndM    
  347.  
  348. Pal    Macro
  349.     Dc.w    $ffe1,$fffe
  350.     EndM    
  351.  
  352. EndCop    Macro
  353.     Dc.w    $ffff,$fffe
  354.     EndM    
  355.  
  356. CopperList    Cwt    $15    
  357.     Cmv    $0200,BplCon0    
  358.     Cmv    $00bb,BplCon1    
  359.     Cmv    $000a,BplCon2    
  360.     Cmv    $0034,DdfStrt    
  361.     Cmv    $00c8,DdfStop    
  362.     Cmv    $1671,DiwStrt    
  363.     Cmv    $36e1,DiwStop
  364.     Cmv    $48,BplMod1    
  365.     Cmv    $48,BplMod2    
  366.     
  367.     Cwt    $20
  368. CopperCols    Cmv    $0000,Color00
  369.     Cmv    $0fff,Color01
  370.     Cmv    $0eee,Color02
  371.     Cmv    $0ddd,Color03
  372.     Cmv    $0ccc,Color04
  373.     Cmv    $0bbb,Color05
  374.     Cmv    $0aaa,Color06
  375.     Cmv    $0999,Color07
  376.     Cmv    $0888,Color08
  377.     Cmv    $0777,Color09
  378.     Cmv    $0666,Color10
  379.     Cmv    $0555,Color11
  380.     Cmv    $0444,Color12
  381.     Cmv    $0333,Color13
  382.     Cmv    $0222,Color14
  383.     Cmv    $0111,Color15
  384.     Cmv    $0123,Color16
  385.     Cmv    $000f,Color17
  386.     Cmv    $0f00,Color18
  387.     Cmv    $0f0f,Color19
  388.     Cmv    $00f0,Color20
  389.     Cmv    $00ff,Color21
  390.     Cmv    $0ff0,Color22
  391.     Cmv    $0fff,Color23
  392.     Cmv    $0555,Color24
  393.     Cmv    $055c,Color25
  394.     Cmv    $0c55,Color26
  395.     Cmv    $0c5c,Color27
  396.     Cmv    $05c5,Color28
  397.     Cmv    $05cc,Color29
  398.     Cmv    $0cc5,Color30
  399.     Cmv    $0ccc,Color31
  400.     
  401. CopperBPLS    Cmv    $c,BplPt0h
  402.     Cmv    $0,BplPt0l
  403.     Cmv    $c,BplPt1h
  404.     Cmv    $0,BplPt1l
  405.     Cmv    $c,BplPt2h
  406.     Cmv    $0,BplPt2l
  407.     Cmv    $c,BplPt3h
  408.     Cmv    $0,BplPt3l
  409.     Cmv    $c,BplPt4h
  410.     Cmv    $0,BplPt4l
  411.     Cmv    $0,BplPt5h
  412.     Cmv    $1000,BplPt5l
  413.     
  414.     Cwt    $2b
  415.     Cmv    $5200,BplCon0
  416. CopperStrobe    Cmv    $c,Cop1Lch
  417.     Cmv    $5800,Cop1Lcl
  418.     Cmv    $0,CopJmp1
  419.  
  420. SineData    Incbin    SysData/Sine1024Bs.Dat
  421.     Incbin    SysData/Sine1024Bs.Dat
  422.  
  423. ****Custom Chip Registers****
  424.  
  425. Hardware    = $Dff000
  426.  
  427. ;Control Registers
  428.  
  429. Dmaconr    = $002
  430. Vposr    = $004
  431. Vhposr    = $006
  432. Joy0dat    = $00A
  433. Joy1dat    = $00C
  434. Clxdat    = $00E
  435. Intenar    = $01C
  436. Intereqr    = $01E
  437. Copcon    = $02E
  438.  
  439. ;Blitter Registers
  440.  
  441. Bltcon0    = $040
  442. Bltcon1    = $042
  443. Bltafwm    = $044
  444. Bltalwm    = $046
  445. Bltcpth    = $048
  446. Bltcptl    = $04A
  447. Bltbpth    = $04C
  448. Bltbptl    = $04E
  449. Bltapth    = $050
  450. Bltaptl    = $052
  451. Bltdpth    = $054
  452. Bltdptl    = $056
  453. Bltsize    = $058
  454. Bltcmod    = $060
  455. Bltbmod    = $062
  456. Bltamod    = $064
  457. Bltdmod    = $066
  458. Bltcdat    = $070
  459. Bltbdat    = $072
  460. Bltadat    = $074
  461.  
  462. ;Copper Registers
  463.  
  464. Cop1lc    = $080
  465. Cop1lch    = $080
  466. Cop1lcl    = $082
  467. Cop2lc    = $084
  468. Cop2lch    = $084
  469. Cop2lcl    = $086
  470. Copjmp1    = $088
  471. Copjmp2    = $08A
  472. Diwstrt    = $08E
  473. Diwstop    = $090
  474. Ddfstrt    = $092
  475. Ddfstop    = $094
  476. Dmacon    = $096
  477. Clxcon    = $098
  478. Intena    = $09A
  479. Intreq    = $09C
  480.  
  481. ;BitPlane Registers 
  482.  
  483. BplCon0    = $100
  484. BplCon1    = $102
  485. BplCon2    = $104
  486. BplMod1    = $108
  487. BplMod2    = $10a
  488.  
  489. BplPt0h    = $0e0
  490. BplPt0l    = $0e2
  491. BplPt1h    = $0e4
  492. BplPt1l    = $0e6
  493. BplPt2h    = $0e8
  494. BplPt2l    = $0ea
  495. BplPt3h    = $0ec
  496. BplPt3l    = $0ee
  497. BplPt4h    = $0f0
  498. BplPt4l    = $0f2
  499. BplPt5h    = $0f4
  500. BplPt5l    = $0f6
  501.  
  502. ;Colour Registers
  503.  
  504. Color00    = $180
  505. Color01    = $182
  506. Color02    = $184
  507. Color03    = $186
  508. Color04    = $188
  509. Color05    = $18a
  510. Color06    = $18c
  511. Color07    = $18e
  512. Color08    = $190
  513. Color09    = $192
  514. Color10    = $194
  515. Color11    = $196
  516. Color12    = $198
  517. Color13     = $19a
  518. Color14     = $19c
  519. Color15     = $19e
  520. Color16     = $1a0
  521. Color17     = $1a2
  522. Color18     = $1a4
  523. Color19     = $1a6
  524. Color20     = $1a8
  525. Color21     = $1aa
  526. Color22     = $1ac
  527. Color23     = $1ae
  528. Color24     = $1b0
  529. Color25     = $1b2
  530. Color26     = $1b4
  531. Color27     = $1b6
  532. Color28     = $1b8
  533. Color29     = $1ba
  534. Color30     = $1bc
  535. Color31     = $1be
  536.  
  537. EcsNop    = $1fe
  538.